package cn.iocoder.yudao.module.eval.dal.dataobject.candidate;

import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;

import java.time.LocalDateTime;

/**
 * 参评人员材料管理 DO
 *
 * @author 芋道源码
 */
@TableName("eval_candidate_materials")
@KeySequence("eval_candidate_materials_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class EvalCandidateMaterialDO extends TenantBaseDO {

    /**
     * 主键ID
     */
    @TableId
    private Long id;
    
    /**
     * 参评人员ID，关联eval_candidate_info表
     */
    private Long candidateInfoId;
    
    /**
     * 材料类型：1-身份证，2-学历证书，3-工作证明，4-技能证书，5-业绩材料，6-其他
     */
    private Integer materialType;
    
    /**
     * 材料名称
     */
    private String materialName;
    
    /**
     * 材料描述
     */
    private String materialDescription;
    
    /**
     * 文件路径
     */
    private String filePath;
    
    /**
     * 文件名称
     */
    private String fileName;
    
    /**
     * 文件大小（字节）
     */
    private Long fileSize;
    
    /**
     * 文件类型
     */
    private String fileType;
    
    /**
     * 上传时间
     */
    private LocalDateTime uploadTime;
    
    /**
     * 审核状态：0-待审核，1-审核通过，2-审核不通过
     */
    private Integer auditStatus;
    
    /**
     * 审核人ID，关联system_users表
     */
    private Long auditorId;
    
    /**
     * 审核时间
     */
    private LocalDateTime auditTime;
    
    /**
     * 审核意见
     */
    private String auditComments;
    
    /**
     * 是否必需材料
     */
    private Boolean isRequired;

    /**
     * 材料状态：1-待审核，2-已审核，3-已删除
     */
    private Integer materialStatus;

    /**
     * 排序
     */
    private Integer sortOrder;

}
